﻿#define _CRT_SECURE_NO_WARNINGS 1

#include"SeqList.h"

SL s;//定义全局变量

//初始化
void SLTest1()
{
	SLInit(&s);
}

//尾插测试
void SLTest2()
{
	printf("尾插测试：\n");
	SLPushBack(&s, 1);
	SLPushBack(&s, 2);
	SLPushBack(&s, 3);
	SLPushBack(&s, 4);
	SLPushBack(&s, 5);
	SLPrint(&s);
}

//尾删测试
void SLTest3()
{
	printf("尾删测试：\n");
	SLPopBack(&s);
	SLPrint(&s);
}

//头插测试
void SLTest4()
{
	printf("头插测试：\n");
	SLPushFront(&s, 6);
	SLPushFront(&s, 7);
	SLPrint(&s);
}

//头删测试
void SLTest5()
{
	printf("头删测试：\n");
	SLPopFront(&s);
	SLPrint(&s);
}

//测试在指定位置之前插⼊数据
void SLTest6()
{
	printf("测试在指定位置之前插⼊数据：\n");
	SLInsert(&s, 0, 8);
	SLPrint(&s);
	SLInsert(&s, 3, 9);
	SLPrint(&s);
	SLInsert(&s, s.size, 10);
	SLPrint(&s);
}

//测试删除指定位置数据
void SLTest7()
{
	printf("测试删除指定位置数据：\n");
	SLErase(&s, 0);
	SLPrint(&s);
	SLErase(&s, 3);
	SLPrint(&s);
	SLErase(&s, s.size - 1);
	SLPrint(&s);
}

//测试查找功能
void SLTest8()
{
	printf("测试查找功能：\n");
	int find1 = SLFind(&s, 1);
	if (find1 < 0)
	{
		printf("没有找到！\n");
	}
	else
	{
		printf("找到了！下标是%d\n", find1);
	}

	int find2 = SLFind(&s, 5);
	if (find2 < 0)
	{
		printf("没有找到！\n");
	}
	else
	{
		printf("找到了！下标是%d\n", find2);
	}
}

//销毁
void SLTest9()
{
	SLDestroy(&s);
}

int main()
{
	SLTest1();//初始化
	SLTest2();//尾插测试
	SLTest3();//尾删测试
	SLTest4();//头插测试
	SLTest5();//头删测试
	SLTest6();//测试在指定位置之前插⼊数据
	SLTest7();//测试删除指定位置数据
	SLTest8();//测试查找功能
	SLTest9();//销毁
	return 0;
}